home *** CD-ROM | disk | FTP | other *** search
/ VRML 2.0 Sourcebook (2nd Edition) / VRML 2.0 Sourcebook CD [md5 fed90f4f9c39d5a60d477058775c7e21].iso / software / radiance / ez3d / win95nt / data.z / transformerDragger.iv < prev    next >
Text File  |  1996-05-29  |  24KB  |  878 lines

  1. #Inventor V2.0 ascii
  2. DEF transformerOverallStyle Group {
  3.     DrawStyle { style LINES lineWidth 1 }
  4.     LightModel { model PHONG }
  5.     Texture2 {}
  6.     NormalBinding { value PER_VERTEX_INDEXED }
  7.     MaterialBinding { value OVERALL }
  8.     Normal {}
  9.     Material {
  10.     diffuseColor    [ 0 0.8 0 ]
  11.     emissiveColor    [ 0 0.8 0 ]
  12.     }
  13.     Complexity { value .01  textureQuality  0 }
  14. }
  15.  
  16. DEF SO_TRANSFORMER_DRAGGER_TRANSLATOR_STYLE Group {
  17.     DrawStyle { style LINES lineWidth 2 }
  18. }
  19. DEF SO_TRANSFORMER_DRAGGER_CUBE_COORDS Coordinate3 { 
  20.     point [ -1.001 1.001 1.001, 1.001 1.001 1.001, 1.001 1.001 -1.001, -1.001 1.001 -1.001,
  21.               -1.001 -1.001 1.001, 1.001 -1.001 1.001, 1.001 -1.001 -1.001, -1.001 -1.001 -1.001 ] 
  22. }
  23. DEF transformerTranslator1 Separator {
  24.     renderCaching ON
  25.     USE SO_TRANSFORMER_DRAGGER_CUBE_COORDS
  26.     DrawStyle { style INVISIBLE }
  27.     IndexedFaceSet { coordIndex [ 0, 1, 2, 3 ] }
  28.     USE SO_TRANSFORMER_DRAGGER_TRANSLATOR_STYLE
  29. #    IndexedLineSet { coordIndex [ 0, 1, 2, 3, 0 ] }
  30.     IndexedLineSet {     
  31.     coordIndex [ 0, 1, -1, 1, 2, -1, 2, 3, -1, 3, 0, -1, ] 
  32.     }
  33. }
  34. DEF transformerTranslator2 Separator {
  35.     renderCaching ON
  36.     USE SO_TRANSFORMER_DRAGGER_CUBE_COORDS
  37.     DrawStyle { style INVISIBLE }
  38.     IndexedFaceSet { coordIndex [ 7, 6, 5, 4 ] }
  39.     USE SO_TRANSFORMER_DRAGGER_TRANSLATOR_STYLE
  40. #    IndexedLineSet { coordIndex [ 7, 6, 5, 4, 7 ] }
  41.     IndexedLineSet {     
  42.     coordIndex [ 4, 5, -1, 5, 6, -1, 6, 7, -1, 7, 4, -1, ] 
  43.     }
  44. }
  45. DEF transformerTranslator3 Separator {
  46.     renderCaching ON
  47.     USE SO_TRANSFORMER_DRAGGER_CUBE_COORDS
  48.     DrawStyle { style INVISIBLE }
  49.     IndexedFaceSet { coordIndex [ 0, 3, 7, 4 ] }
  50.     USE SO_TRANSFORMER_DRAGGER_TRANSLATOR_STYLE
  51. #    IndexedLineSet { coordIndex [ 0, 3, 7, 4, 0 ] }
  52.     IndexedLineSet {     
  53.     coordIndex [ 3, 0, -1, 0, 4, -1, 3, 7, -1, 7, 4, -1, ] 
  54.     }
  55. }
  56. DEF transformerTranslator4 Separator {
  57.     renderCaching ON
  58.     USE SO_TRANSFORMER_DRAGGER_CUBE_COORDS
  59.     DrawStyle { style INVISIBLE }
  60.     IndexedFaceSet { coordIndex [ 5, 6, 2, 1 ] }
  61.     USE SO_TRANSFORMER_DRAGGER_TRANSLATOR_STYLE
  62. #    IndexedLineSet { coordIndex [ 5, 6, 2, 1, 5 ] }
  63.     IndexedLineSet {     
  64.     coordIndex [ 1, 2, -1, 1, 5, -1, 2, 6, -1, 5, 6, -1, ] 
  65.     }
  66. }
  67. DEF transformerTranslator5 Separator {
  68.     renderCaching ON
  69.     USE SO_TRANSFORMER_DRAGGER_CUBE_COORDS
  70.     DrawStyle { style INVISIBLE }
  71.     IndexedFaceSet { coordIndex [ 0, 4, 5, 1 ] }
  72.     USE SO_TRANSFORMER_DRAGGER_TRANSLATOR_STYLE
  73. #    IndexedLineSet { coordIndex [ 0, 4, 5, 1, 0 ] }
  74.     IndexedLineSet {     
  75.     coordIndex [ 0, 1, -1, 0, 4, -1, 1, 5, -1, 4, 5, -1, ] 
  76.     }
  77. }
  78. DEF transformerTranslator6 Separator {
  79.     renderCaching ON
  80.     USE SO_TRANSFORMER_DRAGGER_CUBE_COORDS
  81.     DrawStyle { style INVISIBLE }
  82.     IndexedFaceSet { coordIndex [ 3, 2, 6, 7 ] }
  83.     USE SO_TRANSFORMER_DRAGGER_TRANSLATOR_STYLE
  84. #    IndexedLineSet { coordIndex [ 3, 2, 6, 7, 3 ] }
  85.     IndexedLineSet {     
  86.     coordIndex [ 2, 3, -1, 2, 6, -1, 3, 7, -1, 6, 7, -1, ] 
  87.     }
  88. }
  89. DEF SO_TRANSFORMER_DRAGGER_TRANSLATOR_STYLE_ACTIVE Group {
  90.     Material {
  91.     diffuseColor    [ 0.5 0.5 0.0 ]
  92.     emissiveColor    [ 0.5 0.5 0.0 ]
  93.     }
  94.     DrawStyle { style LINES lineWidth 3 }
  95.     ShapeHints {
  96.     vertexOrdering COUNTERCLOCKWISE
  97.     }
  98.     NormalBinding { value PER_VERTEX_INDEXED }
  99.     MaterialBinding { value OVERALL }
  100. }
  101. DEF transformerTranslator1Active Separator {
  102.     renderCaching ON
  103.     USE SO_TRANSFORMER_DRAGGER_TRANSLATOR_STYLE_ACTIVE
  104.     Normal { vector [ 0 1 0 ] }
  105.     Coordinate3 { point [ 1  1  1, 1  1 -1, -1  1 -1, -1  1  1 ] }
  106.     FaceSet { }
  107. }
  108. DEF transformerTranslator2Active Separator {
  109.     renderCaching ON
  110.     USE SO_TRANSFORMER_DRAGGER_TRANSLATOR_STYLE_ACTIVE
  111.     Normal { vector [ 0 -1 0 ] }
  112.     Coordinate3 { point [ 1  -1  1, 1  -1 -1, -1  -1 -1, -1  -1  1 ] }
  113.     FaceSet { }
  114. }
  115. DEF transformerTranslator3Active Separator {
  116.     renderCaching ON
  117.     USE SO_TRANSFORMER_DRAGGER_TRANSLATOR_STYLE_ACTIVE
  118.     Normal { vector [ -1 0 0 ] }
  119.     Coordinate3 { point [ -1  1  1, -1  1 -1, -1  -1 -1, -1  -1  1 ] }
  120.     FaceSet { }
  121. }
  122. DEF transformerTranslator4Active Separator {
  123.     renderCaching ON
  124.     USE SO_TRANSFORMER_DRAGGER_TRANSLATOR_STYLE_ACTIVE
  125.     Normal { vector [ 1 0 0 ] }
  126.     Coordinate3 { point [ 1  1  1, 1  1 -1, 1  -1 -1, 1  -1  1 ] }
  127.     FaceSet { }
  128. }
  129. DEF transformerTranslator5Active Separator {
  130.     renderCaching ON
  131.     USE SO_TRANSFORMER_DRAGGER_TRANSLATOR_STYLE_ACTIVE
  132.     Normal { vector [ 0 0 1 ] }
  133.     Coordinate3 { point [ 1  1  1, 1  -1 1, -1  -1 1, -1  1  1 ] }
  134.     FaceSet { }
  135. }
  136. DEF transformerTranslator6Active Separator {
  137.     renderCaching ON
  138.     USE SO_TRANSFORMER_DRAGGER_TRANSLATOR_STYLE_ACTIVE
  139.     Normal { vector [ 0 0 -1 ] }
  140.     Coordinate3 { point [ 1  1  -1, 1  -1 -1, -1  -1 -1, -1  1  -1 ] }
  141.     FaceSet { }
  142. }
  143.  
  144.  
  145. DEF SO_TRANSFORMER_DRAGGER_ROTATOR_STYLE Group {
  146.     Material {
  147.     diffuseColor    [ 0.0 0.8 0.0 ]
  148.     emissiveColor    [ 0.0 0.8 0.0 ]
  149.     }
  150.     DrawStyle { lineWidth 1 }
  151.     Complexity { 
  152.     value 0.3
  153.         textureQuality  0 
  154.     }
  155. }
  156. DEF SO_TRANSFORMER_DRAGGER_ROTATOR_STYLE_ACTIVE Group {
  157.     Material {
  158.     diffuseColor    [ 0.5 0.5 0.0 ]
  159.     emissiveColor    [ 0.5 0.5 0.0 ]
  160.     }
  161.     DrawStyle { lineWidth 3 }
  162.     Complexity { 
  163.     value 0.3
  164.         textureQuality  0 
  165.     }
  166. }
  167. DEF SO_TRANSFORMER_DRAGGER_ROTATOR_1 Group {
  168.     Coordinate3 { point [ 0 0 0, 0 1.25 0 ] }
  169.     LineSet {}
  170.     Translation { translation 0 1.25 0 }
  171.     AntiSquish { 
  172.     recalcAlways FALSE
  173.     }
  174.     Sphere { radius .05 }
  175. }
  176. DEF SO_TRANSFORMER_DRAGGER_ROTATOR_2 Group {
  177.     Coordinate3 { point [ 0 0 0, 0 -1.25 0 ] }
  178.     LineSet {}
  179.     Translation { translation 0 -1.25 0 }
  180.     AntiSquish { 
  181.     recalcAlways FALSE
  182.     }
  183.     Sphere { radius .05 }
  184. }
  185. DEF SO_TRANSFORMER_DRAGGER_ROTATOR_3 Group {
  186.     Coordinate3 { point [ 0 0 0, -1.25 0 0 ] }
  187.     LineSet {}
  188.     Translation { translation -1.25 0 0 }
  189.     AntiSquish { 
  190.     recalcAlways FALSE
  191.     }
  192.     Sphere { radius .05 }
  193. }
  194. DEF SO_TRANSFORMER_DRAGGER_ROTATOR_4 Group {
  195.     Coordinate3 { point [ 0 0 0, 1.25 0 0 ] }
  196.     LineSet {}
  197.     Translation { translation 1.25 0 0 }
  198.     AntiSquish { 
  199.     recalcAlways FALSE
  200.     }
  201.     Sphere { radius .05 }
  202. }
  203. DEF SO_TRANSFORMER_DRAGGER_ROTATOR_5 Group {
  204.     Coordinate3 { point [ 0 0 0, 0 0 1.25 ] }
  205.     LineSet {}
  206.     Translation { translation 0 0 1.25 }
  207.     AntiSquish { 
  208.     recalcAlways FALSE
  209.     }
  210.     Sphere { radius .05 }
  211. }
  212. DEF SO_TRANSFORMER_DRAGGER_ROTATOR_6 Group {
  213.     Coordinate3 { point [ 0 0 0, 0 0 -1.25 ] }
  214.     LineSet {}
  215.     Translation { translation 0 0 -1.25 }
  216.     AntiSquish { 
  217.     recalcAlways FALSE
  218.     }
  219.     Sphere { radius .05 }
  220. }
  221.  
  222. DEF transformerRotator1 Separator {
  223.     renderCaching ON
  224.     USE SO_TRANSFORMER_DRAGGER_ROTATOR_STYLE
  225.     USE SO_TRANSFORMER_DRAGGER_ROTATOR_1
  226. }
  227. DEF transformerRotator2 Separator {
  228.     renderCaching ON
  229.     USE SO_TRANSFORMER_DRAGGER_ROTATOR_STYLE
  230.     USE SO_TRANSFORMER_DRAGGER_ROTATOR_2
  231. }
  232. DEF transformerRotator3 Separator {
  233.     renderCaching ON
  234.     USE SO_TRANSFORMER_DRAGGER_ROTATOR_STYLE
  235.     USE SO_TRANSFORMER_DRAGGER_ROTATOR_3
  236. }
  237. DEF transformerRotator4 Separator {
  238.     renderCaching ON
  239.     USE SO_TRANSFORMER_DRAGGER_ROTATOR_STYLE
  240.     USE SO_TRANSFORMER_DRAGGER_ROTATOR_4
  241. }
  242. DEF transformerRotator5 Separator {
  243.     renderCaching ON
  244.     USE SO_TRANSFORMER_DRAGGER_ROTATOR_STYLE
  245.     USE SO_TRANSFORMER_DRAGGER_ROTATOR_5
  246. }
  247. DEF transformerRotator6 Separator {
  248.     renderCaching ON
  249.     USE SO_TRANSFORMER_DRAGGER_ROTATOR_STYLE
  250.     USE SO_TRANSFORMER_DRAGGER_ROTATOR_6
  251. }
  252. DEF transformerRotator1Active Separator {
  253.     renderCaching ON
  254.     USE SO_TRANSFORMER_DRAGGER_ROTATOR_STYLE_ACTIVE
  255.     USE SO_TRANSFORMER_DRAGGER_ROTATOR_1
  256. }
  257. DEF transformerRotator2Active Separator {
  258.     renderCaching ON
  259.     USE SO_TRANSFORMER_DRAGGER_ROTATOR_STYLE_ACTIVE
  260.     USE SO_TRANSFORMER_DRAGGER_ROTATOR_2
  261. }
  262. DEF transformerRotator3Active Separator {
  263.     renderCaching ON
  264.     USE SO_TRANSFORMER_DRAGGER_ROTATOR_STYLE_ACTIVE
  265.     USE SO_TRANSFORMER_DRAGGER_ROTATOR_3
  266. }
  267. DEF transformerRotator4Active Separator {
  268.     renderCaching ON
  269.     USE SO_TRANSFORMER_DRAGGER_ROTATOR_STYLE_ACTIVE
  270.     USE SO_TRANSFORMER_DRAGGER_ROTATOR_4
  271. }
  272. DEF transformerRotator5Active Separator {
  273.     renderCaching ON
  274.     USE SO_TRANSFORMER_DRAGGER_ROTATOR_STYLE_ACTIVE
  275.     USE SO_TRANSFORMER_DRAGGER_ROTATOR_5
  276. }
  277. DEF transformerRotator6Active Separator {
  278.     renderCaching ON
  279.     USE SO_TRANSFORMER_DRAGGER_ROTATOR_STYLE_ACTIVE
  280.     USE SO_TRANSFORMER_DRAGGER_ROTATOR_6
  281. }
  282.  
  283. DEF SO_TRANSFORMER_DRAGGER_SCALING_STYLE Group {
  284.     DrawStyle { lineWidth 1 }
  285. }
  286. DEF SO_TRANSFORMER_DRAGGER_SCALING_STYLE_ACTIVE Group {
  287.     Material {
  288.     diffuseColor    [ 0.5 0.5 0.0 ]
  289.     emissiveColor    [ 0.5 0.5 0.0 ]
  290.     }
  291.     DrawStyle { lineWidth 3 }
  292. }
  293. DEF SO_TRANSFORMER_DRAGGER_SCALE_1 Group {
  294.     Translation { translation 1 1 1 }
  295.     AntiSquish { 
  296.     recalcAlways FALSE
  297.     }
  298.     Cube { width .15 height .15 depth .15 }
  299. }
  300. DEF SO_TRANSFORMER_DRAGGER_SCALE_2 Group {
  301.     Translation { translation 1 1 -1 }
  302.     AntiSquish { 
  303.     recalcAlways FALSE
  304.     }
  305.     Cube { width .15 height .15 depth .15 }
  306. }
  307. DEF SO_TRANSFORMER_DRAGGER_SCALE_3 Group {
  308.     Translation { translation 1 -1 1 }
  309.     AntiSquish { 
  310.     recalcAlways FALSE
  311.     }
  312.     Cube { width .15 height .15 depth .15 }
  313. }
  314. DEF SO_TRANSFORMER_DRAGGER_SCALE_4 Group {
  315.     Translation { translation 1 -1 -1 }
  316.     AntiSquish { 
  317.     recalcAlways FALSE
  318.     }
  319.     Cube { width .15 height .15 depth .15 }
  320. }
  321. DEF SO_TRANSFORMER_DRAGGER_SCALE_5 Group {
  322.     Translation { translation -1 1 1 }
  323.     AntiSquish { 
  324.     recalcAlways FALSE
  325.     }
  326.     Cube { width .15 height .15 depth .15 }
  327. }
  328. DEF SO_TRANSFORMER_DRAGGER_SCALE_6 Group {
  329.     Translation { translation -1 1 -1 }
  330.     AntiSquish { 
  331.     recalcAlways FALSE
  332.     }
  333.     Cube { width .15 height .15 depth .15 }
  334. }
  335. DEF SO_TRANSFORMER_DRAGGER_SCALE_7 Group {
  336.     Translation { translation -1 -1 1 }
  337.     AntiSquish { 
  338.     recalcAlways FALSE
  339.     }
  340.     Cube { width .15 height .15 depth .15 }
  341. }
  342. DEF SO_TRANSFORMER_DRAGGER_SCALE_8 Group {
  343.     Translation { translation -1 -1 -1 }
  344.     AntiSquish { 
  345.     recalcAlways FALSE
  346.     }
  347.     Cube { width .15 height .15 depth .15 }
  348. }
  349.  
  350. DEF transformerScale1 Separator {
  351.     renderCaching ON
  352.     USE SO_TRANSFORMER_DRAGGER_SCALING_STYLE
  353.     USE SO_TRANSFORMER_DRAGGER_SCALE_1
  354. }
  355. DEF transformerScale2 Separator {
  356.     renderCaching ON
  357.     USE SO_TRANSFORMER_DRAGGER_SCALING_STYLE
  358.     USE SO_TRANSFORMER_DRAGGER_SCALE_2
  359. }
  360. DEF transformerScale3 Separator {
  361.     renderCaching ON
  362.     USE SO_TRANSFORMER_DRAGGER_SCALING_STYLE
  363.     USE SO_TRANSFORMER_DRAGGER_SCALE_3
  364. }
  365. DEF transformerScale4 Separator {
  366.     renderCaching ON
  367.     USE SO_TRANSFORMER_DRAGGER_SCALING_STYLE
  368.     USE SO_TRANSFORMER_DRAGGER_SCALE_4
  369. }
  370. DEF transformerScale5 Separator {
  371.     renderCaching ON
  372.     USE SO_TRANSFORMER_DRAGGER_SCALING_STYLE
  373.     USE SO_TRANSFORMER_DRAGGER_SCALE_5
  374. }
  375. DEF transformerScale6 Separator {
  376.     renderCaching ON
  377.     USE SO_TRANSFORMER_DRAGGER_SCALING_STYLE
  378.     USE SO_TRANSFORMER_DRAGGER_SCALE_6
  379. }
  380. DEF transformerScale7 Separator {
  381.     renderCaching ON
  382.     USE SO_TRANSFORMER_DRAGGER_SCALING_STYLE
  383.     USE SO_TRANSFORMER_DRAGGER_SCALE_7
  384. }
  385. DEF transformerScale8 Separator {
  386.     renderCaching ON
  387.     USE SO_TRANSFORMER_DRAGGER_SCALING_STYLE
  388.     USE SO_TRANSFORMER_DRAGGER_SCALE_8
  389. }
  390. DEF transformerScale1Active Separator {
  391.     renderCaching ON
  392.     USE SO_TRANSFORMER_DRAGGER_SCALING_STYLE_ACTIVE
  393.     USE SO_TRANSFORMER_DRAGGER_SCALE_1
  394. }
  395. DEF transformerScale2Active Separator {
  396.     renderCaching ON
  397.     USE SO_TRANSFORMER_DRAGGER_SCALING_STYLE_ACTIVE
  398.     USE SO_TRANSFORMER_DRAGGER_SCALE_2
  399. }
  400. DEF transformerScale3Active Separator {
  401.     renderCaching ON
  402.     USE SO_TRANSFORMER_DRAGGER_SCALING_STYLE_ACTIVE
  403.     USE SO_TRANSFORMER_DRAGGER_SCALE_3
  404. }
  405. DEF transformerScale4Active Separator {
  406.     renderCaching ON
  407.     USE SO_TRANSFORMER_DRAGGER_SCALING_STYLE_ACTIVE
  408.     USE SO_TRANSFORMER_DRAGGER_SCALE_4
  409. }
  410. DEF transformerScale5Active Separator {
  411.     renderCaching ON
  412.     USE SO_TRANSFORMER_DRAGGER_SCALING_STYLE_ACTIVE
  413.     USE SO_TRANSFORMER_DRAGGER_SCALE_5
  414. }
  415. DEF transformerScale6Active Separator {
  416.     renderCaching ON
  417.     USE SO_TRANSFORMER_DRAGGER_SCALING_STYLE_ACTIVE
  418.     USE SO_TRANSFORMER_DRAGGER_SCALE_6
  419. }
  420. DEF transformerScale7Active Separator {
  421.     renderCaching ON
  422.     USE SO_TRANSFORMER_DRAGGER_SCALING_STYLE_ACTIVE
  423.     USE SO_TRANSFORMER_DRAGGER_SCALE_7
  424. }
  425. DEF transformerScale8Active Separator {
  426.     renderCaching ON
  427.     USE SO_TRANSFORMER_DRAGGER_SCALING_STYLE_ACTIVE
  428.     USE SO_TRANSFORMER_DRAGGER_SCALE_8
  429. }
  430.  
  431. DEF SO_TRANSFORMER_DRAGGER_FEEDBACK_STYLE Group {
  432.     PickStyle { style UNPICKABLE }
  433.     Material {
  434.     diffuseColor    [ 0.5 0.5 0 ]
  435.     emissiveColor    [ 0.5 0.5 0 ]
  436.     }
  437.     DrawStyle { lineWidth 2 }
  438.     Complexity { 
  439.     value 0.3
  440.         textureQuality  0 
  441.     }
  442. }
  443.  
  444. DEF SO_TRANSFORMER_DRAGGER_FEEDBACK_ACTIVE_STYLE Group {
  445.     PickStyle { style UNPICKABLE }
  446.     Material {
  447.     diffuseColor    [ 0.5 0.5 0 ]
  448.     emissiveColor    [ 0.5 0.5 0 ]
  449.     }
  450.     DrawStyle { lineWidth 2 }
  451.     Complexity { 
  452.     value 0.3
  453.         textureQuality  0 
  454.     }
  455. }
  456.  
  457. DEF SO_TRANSFORMER_DRAGGER_FEEDBACK_SELECT_STYLE Group {
  458.     PickStyle { style UNPICKABLE }
  459.     Material {
  460.     diffuseColor    [ 0.8 0.3 0.1 ]
  461.     emissiveColor    [ 0.8 0.3 0.1 ]
  462.     }
  463.     DrawStyle { lineWidth 2 }
  464.     Complexity { 
  465.     value 0.3
  466.         textureQuality  0 
  467.     }
  468. }
  469.  
  470. DEF SO_TRANSFORMER_DRAGGER_Y_AXIS Group {
  471.     # shaft
  472.     Coordinate3 { point [ 0 -0.5 0, 0 0.5 0 ] }
  473.     LineSet {}
  474.  
  475.     # top
  476.     Translation { translation 0 .5 0 }
  477.     Cone { height 0.075 bottomRadius 0.0375 }
  478.  
  479.     # bottom
  480.     Translation { translation 0 -1 0 }
  481.     RotationXYZ { axis Z angle 3.14159 }
  482.     Cone { height 0.075 bottomRadius 0.0375 }
  483. }
  484.  
  485. DEF transformerXAxisFeedbackActive Separator {
  486.     renderCaching ON
  487.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_ACTIVE_STYLE
  488.     RotationXYZ { axis Z angle 1.57079 }
  489.     USE SO_TRANSFORMER_DRAGGER_Y_AXIS
  490. }
  491. DEF transformerYAxisFeedbackActive Separator {
  492.     renderCaching ON
  493.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_ACTIVE_STYLE
  494.     USE SO_TRANSFORMER_DRAGGER_Y_AXIS
  495. }
  496. DEF transformerZAxisFeedbackActive Separator {
  497.     renderCaching ON
  498.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_ACTIVE_STYLE
  499.     RotationXYZ { axis X angle 1.57079 }
  500.     USE SO_TRANSFORMER_DRAGGER_Y_AXIS
  501. }
  502.  
  503. DEF transformerXAxisFeedbackSelect Separator {
  504.     renderCaching ON
  505.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_SELECT_STYLE
  506.     RotationXYZ { axis Z angle 1.57079 }
  507.     USE SO_TRANSFORMER_DRAGGER_Y_AXIS
  508. }
  509. DEF transformerYAxisFeedbackSelect Separator {
  510.     renderCaching ON
  511.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_SELECT_STYLE
  512.     USE SO_TRANSFORMER_DRAGGER_Y_AXIS
  513. }
  514. DEF transformerZAxisFeedbackSelect Separator {
  515.     renderCaching ON
  516.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_SELECT_STYLE
  517.     RotationXYZ { axis X angle 1.57079 }
  518.     USE SO_TRANSFORMER_DRAGGER_Y_AXIS
  519. }
  520.  
  521. DEF transformerXCrosshairFeedback Separator {
  522.     renderCaching ON
  523.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_ACTIVE_STYLE
  524.     Coordinate3 { point [ -0.125 0 0, 0.125 0 0 ] }
  525.     LineSet {}
  526. }
  527. DEF transformerYCrosshairFeedback Separator {
  528.     renderCaching ON
  529.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_ACTIVE_STYLE
  530.     Coordinate3 { point [ 0 -0.125 0, 0 0.125 0 ] }
  531.     LineSet {}
  532. }
  533. DEF transformerZCrosshairFeedback Separator {
  534.     renderCaching ON
  535.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_ACTIVE_STYLE
  536.     Coordinate3 { point [ 0 0 -0.125, 0 0 0.125 ] }
  537.     LineSet {}
  538. }
  539.  
  540. DEF SO_TRANSFORMER_RADIAL_FEEDBACK_VERTICAL Group {
  541.  
  542.     # A vertical axis 4.5 units tall
  543.  
  544.     # shaft
  545.     Coordinate3 { point [ 0 -2.2 0, 0 2.2 0 ] }
  546.     LineSet {}
  547.  
  548.     # top cone
  549.     Translation { translation 0 2.2 0 }
  550.     Cone { height 0.075 bottomRadius 0.0375 }
  551.  
  552.     # bottom cone
  553.     Translation { translation 0 -4.4 0 }
  554.     RotationXYZ { axis Z angle 3.14159 }
  555.     Cone { height 0.075 bottomRadius 0.0375 }
  556. }
  557.  
  558. DEF transformerRadialFeedback Separator {
  559.     renderCaching ON
  560.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_STYLE
  561.     
  562.     # 4 different diagonals
  563.     Separator {
  564.     Rotation { rotation 1 0 1 .95531662 }
  565.     USE SO_TRANSFORMER_RADIAL_FEEDBACK_VERTICAL
  566.     }
  567.     Separator {
  568.     Rotation { rotation -1 0 1 .95531662 }
  569.     USE SO_TRANSFORMER_RADIAL_FEEDBACK_VERTICAL
  570.     }
  571.     Separator {
  572.     Rotation { rotation -1 0 -1 .95531662 }
  573.     USE SO_TRANSFORMER_RADIAL_FEEDBACK_VERTICAL
  574.     }
  575.     Separator {
  576.     Rotation { rotation 1 0 -1 .95531662 }
  577.     USE SO_TRANSFORMER_RADIAL_FEEDBACK_VERTICAL
  578.     }
  579. }
  580.  
  581. DEF SO_TRANSFORMER_Y_CIRCLE_COORDS_AND_NORMALS Group {
  582.  
  583.     # Scale this up from unit size to intersect our rotation knobs:
  584.     Scale { scaleFactor 1.25 1.25 1.25 }
  585.  
  586.     NormalBinding { value PER_VERTEX }
  587.     MaterialBinding { value OVERALL }
  588.     Coordinate3 {
  589.     point [
  590.  
  591.         # first quadrant
  592.         1.0  0  0.0,
  593.  
  594.         0.980785  0  0.195090,
  595.         0.923880  0  0.382683,
  596.         0.831470  0  0.555570,
  597.         0.707107  0  0.707107,
  598.         0.555570  0  0.831470,
  599.         0.382683  0  0.923880,
  600.         0.195090  0  0.980785,
  601.  
  602.         0.0  0  1.0,
  603.  
  604.         # second quadrant
  605.         0.0  0  1.0,
  606.  
  607.         -0.195090  0  0.980785,
  608.         -0.382683  0  0.923880,
  609.         -0.555570  0  0.831470,
  610.         -0.707107  0  0.707107,
  611.         -0.831470  0  0.555570,
  612.         -0.923880  0  0.382683,
  613.         -0.980785  0  0.195090,
  614.  
  615.         -1.0  0  0.0,
  616.  
  617.         # third quadrant
  618.         -1.0  0  0.0,
  619.  
  620.         -0.980785  0  -0.195090,
  621.         -0.923880  0  -0.382683,
  622.         -0.831470  0  -0.555570,
  623.         -0.707107  0  -0.707107,
  624.         -0.555570  0  -0.831470,
  625.         -0.382683  0  -0.923880,
  626.         -0.195090  0  -0.980785,
  627.  
  628.         0.0  0  -1.0,
  629.  
  630.         # fourth quadrant
  631.         0.0  0  -1.0,
  632.  
  633.         0.195090  0  -0.980785,
  634.         0.382683  0  -0.923880,
  635.         0.555570  0  -0.831470,
  636.         0.707107  0  -0.707107,
  637.         0.831470  0  -0.555570,
  638.         0.923880  0  -0.382683,
  639.         0.980785  0  -0.195090,
  640.  
  641.         1.0  0  0.0,
  642.  
  643.     ]
  644.     }
  645.  
  646.     Normal {
  647.     vector [ 
  648.  
  649.         # first quadrant
  650.         1.0  0  0.0,
  651.  
  652.         0.980785  0  0.195090,
  653.         0.923880  0  0.382683,
  654.         0.831470  0  0.555570,
  655.         0.707107  0  0.707107,
  656.         0.555570  0  0.831470,
  657.         0.382683  0  0.923880,
  658.         0.195090  0  0.980785,
  659.  
  660.         0.0  0  1.0,
  661.  
  662.         # second quadrant
  663.         0.0  0  1.0,
  664.  
  665.         -0.195090  0  0.980785,
  666.         -0.382683  0  0.923880,
  667.         -0.555570  0  0.831470,
  668.         -0.707107  0  0.707107,
  669.         -0.831470  0  0.555570,
  670.         -0.923880  0  0.382683,
  671.         -0.980785  0  0.195090,
  672.  
  673.         -1.0  0  0.0,
  674.         # third quadrant
  675.         -1.0  0  0.0,
  676.  
  677.         -0.980785  0  -0.195090,
  678.         -0.923880  0  -0.382683,
  679.         -0.831470  0  -0.555570,
  680.         -0.707107  0  -0.707107,
  681.         -0.555570  0  -0.831470,
  682.         -0.382683  0  -0.923880,
  683.         -0.195090  0  -0.980785,
  684.  
  685.         0.0  0  -1.0,
  686.  
  687.         # fourth quadrant
  688.         0.0  0  -1.0,
  689.  
  690.         0.195090  0  -0.980785,
  691.         0.382683  0  -0.923880,
  692.         0.555570  0  -0.831470,
  693.         0.707107  0  -0.707107,
  694.         0.831470  0  -0.555570,
  695.         0.923880  0  -0.382683,
  696.         0.980785  0  -0.195090,
  697.  
  698.         1.0  0  0.0,
  699.     ]
  700.     }
  701. }
  702.  
  703. DEF transformerXCircleFeedback Separator {
  704.     renderCaching ON
  705.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_STYLE
  706.  
  707.     RotationXYZ { axis Z angle 1.57079 }
  708.     USE SO_TRANSFORMER_Y_CIRCLE_COORDS_AND_NORMALS 
  709.     LineSet {}
  710. }
  711.  
  712. DEF transformerYCircleFeedback Separator {
  713.     renderCaching ON
  714.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_STYLE
  715.  
  716.     USE SO_TRANSFORMER_Y_CIRCLE_COORDS_AND_NORMALS 
  717.     LineSet {}
  718. }
  719. DEF transformerZCircleFeedback Separator {
  720.     renderCaching ON
  721.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_STYLE
  722.  
  723.     RotationXYZ { axis X angle 1.57079 }
  724.     USE SO_TRANSFORMER_Y_CIRCLE_COORDS_AND_NORMALS 
  725.     LineSet {}
  726. }
  727.  
  728. # A purple box with a yellow top.
  729. # The top will be aligned by the dragger to 
  730. # match the plane of motion
  731. DEF transformerTranslateBoxFeedback Separator {
  732.     renderCaching ON
  733.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_STYLE
  734.  
  735.     Coordinate3 {
  736.     point [ 
  737.         -1 1 -1, -1 -1 -1,
  738.          1 1 -1,  1 -1 -1,
  739.          1 1  1,  1 -1  1,
  740.         -1 1  1, -1 -1  1,
  741.         -1 -1 -1, 1 -1 -1,
  742.          1 -1 -1, 1 -1  1,
  743.          1 -1  1,-1 -1  1,
  744.         -1 -1  1,-1 -1 -1,
  745.           ]
  746.     }
  747.     LineSet {
  748.     numVertices [ 2, 2, 2, 2, 2, 2, 2, 2 ]
  749.     }
  750.  
  751.     USE SO_TRANSFORMER_DRAGGER_TRANSLATOR_STYLE_ACTIVE
  752.     Coordinate3 {
  753.     point [ 
  754.         -1  1 -1, 1  1 -1,  1  1 -1, 1  1  1,
  755.          1  1  1,-1  1  1, -1  1  1,-1  1 -1,
  756.           ]
  757.     }
  758.     LineSet {}
  759. }
  760.  
  761. # A purple box made of lines.
  762. DEF transformerScaleBoxFeedback Separator {
  763.     renderCaching ON
  764.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_STYLE
  765.     DrawStyle { style LINES lineWidth 2 }
  766.  
  767.     Cube {}
  768. }
  769.  
  770. DEF transformerPosXWallFeedback Separator {
  771.     renderCaching ON
  772.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_STYLE
  773.     Material { diffuseColor    ~ emissiveColor    ~ transparency 0.5 }
  774.     Coordinate3 { point [ 1 1 1, 1 1 -1, 1 -1 -1, 1 -1 1 ] }
  775.     FaceSet {}
  776. }
  777. DEF transformerPosYWallFeedback Separator {
  778.     renderCaching ON
  779.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_STYLE
  780.     Material { diffuseColor    ~ emissiveColor    ~ transparency 0.5 }
  781.     Coordinate3 { point [ 1 1 1, -1 1 1, -1 1 -1, 1 1 -1 ] }
  782.     FaceSet {}
  783. }
  784. DEF transformerPosZWallFeedback Separator {
  785.     renderCaching ON
  786.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_STYLE
  787.     Material { diffuseColor    ~ emissiveColor    ~ transparency 0.5 }
  788.     Coordinate3 { point [ 1 1 1, 1 -1 1, -1 -1 1, -1 1 1 ] }
  789.     FaceSet {}
  790. }
  791. DEF transformerNegXWallFeedback Separator {
  792.     renderCaching ON
  793.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_STYLE
  794.     Material { diffuseColor    ~ emissiveColor    ~ transparency 0.5 }
  795.     Coordinate3 { point [ -1 1 1, -1 1 -1, -1 -1 -1, -1 -1 1 ] }
  796.     FaceSet {}
  797. }
  798. DEF transformerNegYWallFeedback Separator {
  799.     renderCaching ON
  800.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_STYLE
  801.     Material { diffuseColor    ~ emissiveColor    ~ transparency 0.5 }
  802.     Coordinate3 { point [ 1 -1 1, -1 -1 1, -1 -1 -1, 1 -1 -1 ] }
  803.     FaceSet {}
  804. }
  805. DEF transformerNegZWallFeedback Separator {
  806.     renderCaching ON
  807.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_STYLE
  808.     Material { diffuseColor    ~ emissiveColor    ~ transparency 0.5 }
  809.     Coordinate3 { point [ 1 1 -1, 1 -1 -1, -1 -1 -1, -1 1 -1 ] }
  810.     FaceSet {}
  811. }
  812.  
  813. DEF transformerPosXRoundWallFeedback Separator {
  814.     # No render caching, since antiSquish always blows cache when
  815.     # shown as feedback (when matrix affecting it is constantly changing)
  816.     renderCaching OFF
  817.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_STYLE
  818.     Transform { rotation 0 0 1 1.57079 translation 1 0 0 }
  819.     AntiSquish {}
  820.     Coordinate3 { point [ -1 0 0, 1 0 0, 0 0 -1, 0 0 1, 0 -1 0, 0 1 0 ] }
  821.     LineSet { numVertices [ 2, 2, 2 ] }
  822. #    Sphere { radius .25 }
  823. }
  824. DEF transformerPosYRoundWallFeedback Separator {
  825.     # No render caching, since antiSquish always blows cache when
  826.     # shown as feedback (when matrix affecting it is constantly changing)
  827.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_STYLE
  828.     Translation { translation 0 1 0 }
  829.     AntiSquish {}
  830.     Coordinate3 { point [ -1 0 0, 1 0 0, 0 0 -1, 0 0 1, 0 -1 0, 0 1 0 ] }
  831.     LineSet { numVertices [ 2, 2, 2 ] }
  832. #    Sphere { radius .25 }
  833. }
  834. DEF transformerPosZRoundWallFeedback Separator {
  835.     # No render caching, since antiSquish always blows cache when
  836.     # shown as feedback (when matrix affecting it is constantly changing)
  837.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_STYLE
  838.     Transform { rotation 1 0 0 1.57079 translation 0 0 1 }
  839.     AntiSquish {}
  840.     Coordinate3 { point [ -1 0 0, 1 0 0, 0 0 -1, 0 0 1, 0 -1 0, 0 1 0 ] }
  841.     LineSet { numVertices [ 2, 2, 2 ] }
  842. #    Sphere { radius .25 }
  843. }
  844. DEF transformerNegXRoundWallFeedback Separator {
  845.     # No render caching, since antiSquish always blows cache when
  846.     # shown as feedback (when matrix affecting it is constantly changing)
  847.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_STYLE
  848.     Transform { rotation 0 0 1 1.57079 translation -1 0 0 }
  849.     AntiSquish {}
  850.     Coordinate3 { point [ -1 0 0, 1 0 0, 0 0 -1, 0 0 1, 0 -1 0, 0 1 0 ] }
  851.     LineSet { numVertices [ 2, 2, 2 ] }
  852. #    Sphere { radius .25 }
  853. }
  854. DEF transformerNegYRoundWallFeedback Separator {
  855.     # No render caching, since antiSquish always blows cache when
  856.     # shown as feedback (when matrix affecting it is constantly changing)
  857.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_STYLE
  858.     Translation { translation 0 -1 0 }
  859.     AntiSquish {}
  860.     Coordinate3 { point [ -1 0 0, 1 0 0, 0 0 -1, 0 0 1, 0 -1 0, 0 1 0 ] }
  861.     LineSet { numVertices [ 2, 2, 2 ] }
  862. #    Sphere { radius .25 }
  863. }
  864. DEF transformerNegZRoundWallFeedback Separator {
  865.     # No render caching, since antiSquish always blows cache when
  866.     # shown as feedback (when matrix affecting it is constantly changing)
  867.     USE SO_TRANSFORMER_DRAGGER_FEEDBACK_STYLE
  868.     Transform { rotation 1 0 0 1.57079 translation 0 0 -1 }
  869.     AntiSquish {}
  870.     Coordinate3 { point [ -1 0 0, 1 0 0, 0 0 -1, 0 0 1, 0 -1 0, 0 1 0 ] }
  871.     LineSet { numVertices [ 2, 2, 2 ] }
  872. #    Sphere { radius .25 }
  873. }
  874.  
  875. DEF transformerLocateMaterial Material {
  876.     emissiveColor .8 .3 .1
  877. }
  878.